package cn.tedu.egweibo5.common.exception;


import cn.tedu.egweibo5.common.response.JsonResult;
import cn.tedu.egweibo5.common.response.StatusCode;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @ControllerAdvice注解：
 * 1.该注解标识此类为全局异常处理器的类
 * 2.当控制器中抛出异常时，框架会先检查有没有定义全局异常处理器
 * 3.如果有全局异常处理器，则将异常交给全局异常处理器处理
 * 4.如果没有全局异常处理器，则将异常交给SpringMVC默认的异常处理器处理[不友好]
 */

/**
 * @RestControllerAdvice注解：相当于@ControllerAdvice+@ResponseBody
 */
@RestControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler
    public JsonResult doHandleIllegalArgumentException(IllegalArgumentException ex) {
       return new JsonResult(StatusCode.OPERATION_FAILED);
    }
}
